package com.tianda.rbac_demo.domain;

import lombok.Data;

/**
 * 通用结果对象
 * 所有前后端交互，后端给前端返回数据统一格式
 */
@Data
public class BaseResult {
    /**
     * 逻辑状态码
     * 200 成功
     * 其他通用错误 500
     * 特定自定义错误码
     * 如：
     * 1001 账号密码错误
     * 1002 手机号错误
     * 1003 数据id非法
     * ....
     */
    private int code;
    /**
     * 非200成功码的错误消息
     */
    private String message;
    /**
     * 所有查询返回的结果
     */
    private Object data;

    //常用方法

    public static BaseResult success(){
        BaseResult baseResult = new BaseResult();
        baseResult.setCode(200);
        return baseResult;
    }
    public static BaseResult success(Object data){
        BaseResult baseResult = new BaseResult();
        baseResult.setCode(200);
        baseResult.setData(data);
        return baseResult;
    }

    public static BaseResult error(){
        BaseResult baseResult = new BaseResult();
        baseResult.setCode(500);
        baseResult.setMessage("error");
        return baseResult;
    }
    public static BaseResult error(String message){
        BaseResult baseResult = new BaseResult();
        baseResult.setCode(500);
        baseResult.setMessage(message);
        return baseResult;
    }
    public static BaseResult error(Integer code,String message){
        BaseResult baseResult = new BaseResult();
        baseResult.setCode(code);
        baseResult.setMessage(message);
        return baseResult;
    }


}
